function isJSON(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}

function hideError() {
	$("#data-error").hide(300);
}

function showError(error) {
	if (error != null && error.length > 0)
	{
		$("#data-error").show(300);
		$("#error-message").html(error);
		return true;
	}
	return false;
}

function submitAjax(formName, callback) {
	var frm = $("#" + formName);
	$.ajax({
		type: "POST",
		url: "index.php?ajax=1&form_data=1",
		data: frm.serialize(),
		success: function(data)
		{
			if (!isJSON(data))
			{
				showError(data);
				return;
			}
			var json = $.parseJSON(data);
			if (!showError(json.error))
			{
				toggleView();
				if (callback != null)
					callback(json);
				
			}
		}
	});
}

function toggleView() {
	$("#data_view").toggle(300);
	$("#data_edit").toggle(300);
	$("#data-edit-button").toggle();
	hideError();
}

function stringIsNullOrEmpty(str)
{
	return (/^\s*$/).test(str);
}